eee86409b183352c318090a3522fe2382bce80f1,alien4cloud-rest-api/src/main/java/alien4cloud/rest/orchestrator/LocationSecurityController.java,LocationSecurityController,getAuthorizedEnvironmentsPerApplication,#String#String#,306

Before Change


        if (location.getEnvironmentPermissions() != null && location.getEnvironmentPermissions().size() > 0) {

            // build the set of application ids
            List<ApplicationEnvironment> environments = alienDAO.findByIds(ApplicationEnvironment.class,
                    location.getEnvironmentPermissions().keySet().toArray(new String[location.getEnvironmentPermissions().size()]));
            Set<String> environmentApplicationIds = environments.stream().map(ae -> new String(ae.getApplicationId())).collect(Collectors.toSet());

            // retrieve the applications related to these environments
            List<Application> applications = alienDAO.findByIds(Application.class,
                    environmentApplicationIds.toArray(new String[environmentApplicationIds.size()]));

            // for each application, build a DTO
            for (Application application : applications) {
                ApplicationEnvironmentAuthorizationDTO dto = new ApplicationEnvironmentAuthorizationDTO();
                dto.setApplication(application);
                List<ApplicationEnvironment> aes = Lists.newArrayList();
                dto.setEnvironments(aes);
                aeaDTOsMap.put(application.getId(), dto);
            }

            for (ApplicationEnvironment ae : environments) {
                ApplicationEnvironmentAuthorizationDTO dto = aeaDTOsMap.get(ae.getApplicationId());
                dto.getEnvironments().add(ae);
            }
        }
        if (location.getApplicationPermissions() != null && location.getApplicationPermissions().size() > 0) {
            List<Application> applications = alienDAO.findByIds(Application.class,
                    location.getApplicationPermissions().keySet().toArray(new String[location.getApplicationPermissions().size()]));
            for (Application application : applications) {
                ApplicationEnvironmentAuthorizationDTO dto = aeaDTOsMap.get(application.getId());
                if (dto == null) {
                    dto = new ApplicationEnvironmentAuthorizationDTO();
                    dto.setApplication(application);

After Change


        List<Application> applications = Lists.newArrayList();

        if (location.getEnvironmentPermissions() != null && location.getEnvironmentPermissions().size() > 0) {
            environments = alienDAO.findByIds(ApplicationEnvironment.class, location.getEnvironmentPermissions().keySet().toArray(new String[location.getEnvironmentPermissions().size()]));
            Set<String> environmentApplicationIds = environments.stream().map(ae -> new String(ae.getApplicationId())).collect(Collectors.toSet());
            applicationsRelatedToEnvironment = alienDAO.findByIds(Application.class, environmentApplicationIds.toArray(new String[environmentApplicationIds.size()]));
        }